Merge "Remove nputikhin@google.com from OWNERS" into main
tree: 87a299605d482d61f1cedf949ad5d13993758609
  1. .github/
  2. src/
  3. .cargo_vcs_info.json
  4. .gitignore
  5. Android.bp
  6. Cargo.toml
  7. Cargo.toml.orig
  8. cargo_embargo.json
  9. CHANGELOG.md
  10. clippy.toml
  11. LICENSE-APACHE
  12. LICENSE-MIT
  13. METADATA
  14. MODULE_LICENSE_APACHE2
  15. OWNERS
  16. README.md
README.md

errno CI Cargo

Cross-platform interface to the errno variable. Works on Rust 1.56 or newer.

Documentation is available at https://docs.rs/errno.

Dependency

Add to your Cargo.toml:

[dependencies] errno = "*" 

Comparison with std::io::Error

The standard library provides Error::last_os_error which fetches errno in the same way.

This crate provides these extra features:

  • No heap allocations
  • Optional #![no_std] support
  • A set_errno function

Examples

extern crate errno; use errno::{Errno, errno, set_errno}; // Get the current value of errno let e = errno(); // Set the current value of errno set_errno(e); // Extract the error code as an i32 let code = e.0; // Display a human-friendly error message println!("Error {}: {}", code, e); 

#![no_std]

Enable #![no_std] support by disabling the default std feature:

[dependencies] errno = { version = "*", default-features = false } 

The Error impl will be unavailable.